class A
{
    public void f()
    {
        System.out.printf("AAAA\n");
    }
}
class B extends A
{
    public void f()
    {
        System.out.printf("BBBB\n");
    }
    public void g()
    {
        System.out.printf("嘿嘿\n");
    }
}
public class TestPoly_3
{
    public static void main(String[] zhangsan)
    {
        A aa = new A();
        B bb = new B();

        aa = bb;

        bb = (B)aa;
        aa.g();//error
    }
}
/*
为什么要将父类对象强制转化为子类对象：
父类没有子类的东西，子类可以有父类的东西，所以有时候需要父类强制转换为子类，才能用子类的东西
那29行为什么报错
TestPoly_3.java:29: 错误: 找不到符号
        aa.g();
          ^
  符号:   方法 g()
  位置: 类型为A的变量 aa
*/